f44e383462444a51ce5cb632db4554aedf2c85ee,src/main/java/org/springframework/samples/petclinic/repository/jpa/JpaOwnerRepositoryImpl.java,JpaOwnerRepositoryImpl,findById,#number#,40
Before Change
}
public Owner findById(int id) {
return this.em.find(Owner.class, id);
}
After Change
return query.getResultList();
}
public Owner findById(int id) {
// using 'join fetch' because a single query should load both owners and pets
// using 'left join fetch' because it might happen that an owner does not have pets yet
Query query = this.em.createQuery("SELECT owner FROM Owner owner left join fetch owner.pets WHERE owner.id =:id");
query.setParameter("id", id);
return (Owner) query.getSingleResult();
}